Optical emission spectroscopy involves exciting the chemical elements in a sample to emit light of one or more specific wavelengths (spectral light). The spectral light is generally produced by a short spark produced by a spark generator. Using conventional spark generators, in which sparks are generated by discharging a capacitor through a resistance and an inductance into the analytical gap, it is not possible to exercise a high degree of control over the waveform of the spark. This is due inter alia to the fact that the form of the spark is determined by the values of the capacitor C, resistance R and inductance L and also by the voltage V to which the capacitor is charged. In practice, therefore, the sparks which can be generated are limited by the availability of only fixed values of C, L, R and V.